package weaver.batchchanges.service;



import weaver.batchchanges.bean.BatchTasksChangesTempBean;
import weaver.batchchanges.bean.TaskHasChangedBean;
import weaver.batchchanges.bean.TaskLedgerPhase2Bean;

import java.util.List;

/**
 * 批量任务变更Service接口
 */
public interface BatchTasksChangesService {

    /**
     * 查询所有批量任务变更临时任务台账 数据
     * @return
     */
    public List<BatchTasksChangesTempBean> getAllBatchTasksChangesTemp();

    List<TaskLedgerPhase2Bean> getAllTaskLedgerPhase2();

    /**
     * 获取所有需要进行任务变更的数据
     * @return
     */
    List<TaskHasChangedBean> getAllTaskHasChanged();

    boolean updateBatchTasksChangesTemp(BatchTasksChangesTempBean batchTasksChangesTempBean);

    /**
     * 任务变更失败调用，将失败任务状态字段值设置为失败
     * @param ids 失败的任务id
     * @return
     */
    boolean changeFailed(List<String> ids);

    /**
     * 更新任务台账二期表数据
     * @param taskLedgerPhase2Bean
     * @return 更新失败的数据
     */
    TaskLedgerPhase2Bean updateTaskLedgerPhase2(TaskLedgerPhase2Bean taskLedgerPhase2Bean);

    /**
     * 批量更新任务台账二期表数据
     * @param taskLedgerPhase2Beans
     * @return 更新失败的数据列表
     */
    List<TaskLedgerPhase2Bean> updateTaskLedgerPhase2(List<TaskLedgerPhase2Bean> taskLedgerPhase2Beans);

    /**
     * 删除临时任务变更表数据
     * @param ids
     * @return
     */
    boolean deleteBatchTasksChangesTemp(List<String> ids);
}
